package SpinLock;

public class MySpinLock {
    private  Thread ower = null;

    public void lock(){
        //通过 CAS 看当前锁是否被某个线程持有
        //如果这个锁已经被别的线程持有，那么就自旋等待。
        //如果这个锁没有被别的线程持有，那么就把 ower 设为当前尝试加锁的线程。
        while (!CAS(this.ower,null,Thread.currentThread())){

        }
    }

    public void unlock(){
        this.ower = null;
    }
}
